﻿using System.ComponentModel.DataAnnotations;
using System;
using System.Collections.Generic;
namespace XSTDZ.ERP.Application.DataContracts
{
    /// <summary>
    /// 出库单DTO
    /// </summary>
    [Serializable]
    public class ProductOutBillDto
    {
        public Guid ID { get; set; }
        [Display(Name = "销售单号:")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public string ProductSellBillNo { get; set; }
        [Display(Name = "客户端订单号:")]
        public string ClientOrderNo { get; set; }
        [Display(Name = "仓库名称")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public System.Guid StorehouseID { get; set; }

        [Display(Name = "销售人员：")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public System.Guid SellorID { get; set; }
        [Display(Name = "销售时间")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public System.DateTime SellTime { get; set; }
        [Display(Name = "销售金额")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public decimal SellMoney { get; set; }
        [Display(Name = "客户名称")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public System.Guid ClientID { get; set; }
        [Display(Name = "送货人")]
        [Required(ErrorMessage = "{0}不能为空！")]
        public Guid SenderId { get; set; }
        [Display(Name = "是否开票")]
        public int IsVoucher { get; set; }

         [Display(Name = "审核状态")]
        public int AuditState { get; set; }
         [Display(Name = "审核人员")]
        public Nullable<System.Guid> AuditorID { get; set; }
        [Display(Name = "审核时间")]
        public Nullable<System.DateTime> AuditTime { get; set; }
        [Display(Name = "是否结算")]
        public int IsSettle { get; set; }
        [Display(Name = "订单状态")]
        public int BillState { get; set; }
        public int Deleted { get; set; }
        public System.Guid CreateID { get; set; }
        public System.DateTime CreateTime { get; set; }
        public Nullable<System.Guid> UpdateID { get; set; }
        public Nullable<System.DateTime> UpdateDate { get; set; }
        [Display(Name = "备注")]
        public string Remarks { get; set; }

        public string DeleteState { get; set; }
        public string SettleState { get; set; }//是否结算
        public string AuditStateName { get; set; }

        public string CreateName { get; set; }
        public string AuditorName { get; set; }
        public string StorehouseName { get; set; }
        public string SellerName { get; set; }
        public string ClientName { get; set; }

        public string SenderName { get; set; }//送货人
    }
}
